package com.luckynote.common.user;

import com.luckynote.common.base.result.ExecuteResult;
import com.luckynote.common.base.result.MultiEntryResult;
import com.luckynote.common.user.dto.UserDTO;
import com.luckynote.common.user.query.UserQuery;

/**
 * <pre>
 * *********************************************
 * Copyright bingo.
 * All rights reserved.
 * ****************************************************
 *  Version       Date         Author            Desc
 *    v1.0       2019/6/29      bingo       用户相关接口
 * ****************************************************
 * </pre>
 */
public interface UserService {

    /**
     * 新增或编辑
     *
     * @param userDTO 用户信息
     * @return 执行结果
     */
    ExecuteResult saveOrUpdate(UserDTO userDTO);

    /**
     * 根据用户ID删除对应信息
     * @param userId 用户ID
     * @return 执行结果
     */
    ExecuteResult delete(String userId);

    /**
     * 获取用户列表信息
     * @param userQuery 用户查询实体类
     * @return 返回用户信息列表
     */
    MultiEntryResult<UserDTO> list(UserQuery userQuery);
}
